package com.sykj.why.mongo.service;

import com.sykj.why.mongo.document.entity.ProjectT;
import com.sykj.why.mongo.dto.PageDTO;
import com.sykj.why.util.Page;

import java.util.List;

/**
 * @author Eleven
 * @date 2019/7/8
 * @desc 非遗项目前端业务访问层
 */

public interface ProjectTService extends BasicService<ProjectT> {

    /**
     * 添加非遗项目
     * @param projectT
     */
    void saveProject(ProjectT projectT);

    /**
     * 删除非遗项目
     * @param id
     */
    void removeProject(String id);

    /**
     * 修改非遗项目
     * @param projectT
     */
    void updateProject(ProjectT projectT);

    /**
     * 启用/禁用非遗项目
     * @param id
     * @param flag
     */
    void disableOrEnable(String id,boolean flag);

    /**
     * 验证非遗项目名称是否重复
     * @param projectT
     */
    void verifyName(ProjectT projectT);

    /**
     * 通过id查询非遗项目
     * @param id
     * @return
     */
    ProjectT findById(String id);


    /**
     * 查询所有非遗项目
     * @return
     */
    List<ProjectT> findAll();

    /**
     * 分页查询非遗项目
     * @param pageDTO
     * @return
     */
    Page findByPage(PageDTO pageDTO);

    /**
     * 查询待审核传承项目
     *
     * @param pageDTO
     * @return
     */
    Page findCheckByPage(PageDTO pageDTO);

    /**
     * 传承项目审核
     *
     * @param id
     * @param flag
     * @param checkInfo
     */
    void check(String id, boolean flag, String checkInfo);

}
